Real-time analytics and feedback for electronic gaming machines

ABSTRACT

The present disclosure relates generally to gaming systems, servers, and methods. As an example, a method is disclosed that includes receiving first data from a first gaming device describing gameplay events occurring at the first gaming device, receiving second data from a second gaming device describing gameplay events occurring at the second gaming device, analyzing the first data and the second data, identifying a feature to provide to the first gaming device based on the analysis of the first data and the second data, and providing a control signal to the first gaming device that delivers the feature to at least the first gaming device.

CROSS REFERENCE TO RELATED APPLICATION

The present application claims priority to U.S. Provisional Application No. 63/008,409, filed Apr. 10, 2020, the entire disclosure of which is hereby incorporated by reference.

BACKGROUND

The present disclosure is generally directed to gaming systems and, in particular, toward features providing updates within gaming systems.

Current gaming machines produce large amounts of information during gameplay. For instance, during a gaming session, a gaming machine may produce gameplay data in the form of wager information, cash-in information, cash-out information, win amounts, etc. Gameplay data and other information must first be collected before it can be analyzed. Gaming machines currently report gameplay data and other information via serial ports or Ethernet connections.

BRIEF SUMMARY

In certain embodiments, the present disclosure relates to a system, a server, and a method. In some embodiments, a system is provided, comprising: a processor; and a memory device coupled with the memory and comprising instructions stored thereon that, when executed by the processor, cause the processor to: receive a first data stream from a first gaming device, where the first data stream comprises first data describing gameplay events occurring at the first gaming device; receive a second data stream from a second gaming device, where the second data stream comprises second data describing gameplay events occurring at the second gaming device; analyze the first data and the second data; identify a gaming feature to provide to the first gaming device based on the analysis of the first data and the second data; and provide a control signal to the first gaming device that causes the first gaming device to provide the identified gaming feature to a player of the first gaming device.

In some embodiments, a server is provided, comprising: a network interface; a processor coupled with the network interface; and a memory device coupled with the processor and comprising instructions that, when executed, cause the processor to: receive first data from a first gaming device describing gameplay events occurring at the first gaming device; receive second data from a second gaming device describing gameplay events occurring at the second gaming device; analyze the first data and the second data; identify a feature to provide to the first gaming device and second gaming device based on the analysis of the first data and the second data; and provide a control signal to the first gaming device and the second gaming device that delivers the feature to the first gaming device and the second gaming device.

In some embodiments, a method of managing a gaming system is provided, comprising: receiving, at a processor, first data from a first gaming device describing gameplay events occurring at the first gaming device; receiving, at the processor, second data from a second gaming device describing gameplay events occurring at the second gaming device; analyzing, with the processor, the first data and the second data; identifying, with the processor, a feature to provide to the first gaming device based on the analysis of the first data and the second data; and providing, by the processor, a control signal to the first gaming device that delivers the feature to the first gaming device.

Additional features and advantages are described herein and will be apparent from the following Description and the figures.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram of a system including a game management system in accordance with embodiments of the present disclosure;

FIG. 2 is a block diagram depicting details of a gaming device in accordance with embodiments of the present disclosure;

FIG. 3 is a block diagram depicting details of a game management system in accordance with embodiments of the present disclosure;

FIG. 4A is a block diagram depicting details of a game management system receiving data streams from a plurality of gaming machines in accordance with embodiments of the present disclosure;

FIG. 4B is a block diagram depicting details of a game management system providing signals to a plurality of gaming machines in accordance with embodiments of the present disclosure;

FIG. 4C is a block diagram depicting details of a game management system updating a data model in a data store in accordance with embodiments of the present disclosure;

FIG. 5 is a flow diagram depicting a method of analyzing data received from gaming devices in real-time and then providing identified gaming features to the gaming devices based on the real-time analysis in accordance with embodiments of the present disclosure;

FIG. 6 is a flow diagram depicting a method of using data model(s) to provide gaming features to gaming devices during gaming sessions in accordance with embodiments of the present disclosure;

FIG. 7 is a flow diagram depicting a method of providing a gaming feature to a gaming device based on analysis of data models related to player behavior and gaming features in accordance with embodiments of the present disclosure;

FIG. 8 is a flow diagram depicting a method of determining a player will have a likely positive response to a gaming feature and then providing the gaming feature to a gaming device of the player in accordance with embodiments of the present disclosure;

FIG. 9 is a flow diagram depicting a method of transmitting game update signals to gaming devices based on a determined update and based on a gaming device's hardware and software version in accordance with embodiments of the present disclosure;

FIG. 10 is a flow diagram depicting a method of transmitting control signals to gaming devices to provide a gaming feature in response to determining the gaming feature complies with a gambling regulation associated with a location of the gaming device in accordance with embodiments of the present disclosure; and

FIG. 11 is a flow diagram depicting a method of correlating positive behavioral patterns to gaming features and then sending control signals to gaming devices not currently enabled to provide the gaming features in accordance with embodiments of the present disclosure.

DETAILED DESCRIPTION

Embodiments of the present disclosure will be described in connection with an Electronic Gaming Machine (EGM), mobile device, and/or gaming device that are configured to interact with a game management system, which may also be referred to as a distributed game management system. While particular embodiments will be described in connection with the game management system having a distributed architecture, it should be appreciated that certain behaviors or features of a gaming device may be carried out with other architectures. For instance, aspects of the present disclosure contemplate that a gaming system may execute various methods and features described herein in a mainframe or centralized game management system. Indeed, the various features described in connection with an EGM, mobile device, and/or gaming device are not limited to use in a distributed game management system, but can be applied to any number of system architectures without departing from the scope of the present disclosure.

Moreover, the examples of the game management systems (whether centralized or distributed) depicted and described herein should not be construed as limiting. For instance, one example of the game management system may correspond to a casino game management system that is used to track player activity with respect to a particular game natively offered at the EGM (e.g., video poker, slots, keno, etc.). The casino game management system, in some embodiments, may correspond to a traditional slot Player Tracking System (PTS) that allows a player to play one or more casino games at the EGM. Another non-limiting example of the game management system may correspond to a sports wagering system. In this particular situation, a player may be allowed to play a traditional casino game at the EGM while also betting and tracking bets placed on sports events (or other wagerable events). Various game management systems may have their own player accounts, data formatting requirements, protocols, etc.

Embodiments of the present disclosure contemplate a gaming device (e.g., an EGM and/or mobile device) that is configured to operate as a thin client with one game instance served to the gaming device by a game management system (e.g., a host server). In some embodiments, the game management system may be configured to simultaneously stream a single game instance to a plurality of gaming devices without departing from the scope of the present disclosure.

In accordance with at least some embodiments, gaming devices may also be provided with a return channel to communicate gameplay data back to the game management system for real-time data collection and analysis. In some embodiments, the data collected in real-time (e.g., during gaming sessions conducted by players at the gaming devices) may be analyzed and processed by the game management system. The game management system may employ machine learning techniques, neural networks, and other Artificial Intelligence (AI) tools to analyze the data received from the various data streams in real-time and determine changes to make to some or all of the gaming device. The decision to change one or multiple gaming devices may be made and implemented even while a player is still involved in a gaming session (e.g., the same gaming session for which gameplay data was provided to the game management system). In some embodiments, the game changes to be made at specific gaming devices may be made in response to player and/or device behavior patterns detected at the game management system.

Embodiments of the present disclosure contemplate a game management system that enables game customization at one or multiple gaming devices based on each player's interactions with their gaming devices as well as player interactions detected at other gaming devices. For instance, the game management system may be configured to detect player patterns or behavior patterns that can be responded to within real-time and which result in updates for the various gaming devices. As can be appreciated, because the game management system may be configured to utilize machine learning, neural networks, and/or AI, the game management system may be configured to provide updates to gaming devices without human intervention.

In accordance with at least some embodiments, game updates can be made at the game management system and then deployed instantly (e.g., with appropriate regulatory restrictions considered) to multiple gaming devices. This enables gaming devices to be updated almost instantly and within compliance of local gaming regulations. Additionally, a gaming device does not necessarily require as much computing hardware to support one or multiple games since the gaming devices receive a substantial amount of content from a data stream provided by the game management system.

In some embodiments, the game management system is configured to modify a game streamed to one or more gaming devices based on real-time data analytics performed on data streams received from a plurality of different gaming devices. As such, real-time decisions to update gaming devices and features provided by gaming devices can be achieved without requiring additional hardware at the gaming devices themselves.

These and other aspects will now be described in further details with reference to FIGS. 1-11.

Gaming System

With reference initially to FIG. 1, details of an illustrative gaming system 100 will be described in accordance with at least some embodiments of the present disclosure. The components of the system 100, while depicted as having particular instructions and devices, are not necessarily limited to the examples depicted herein. Rather, a system according to embodiments of the present disclosure may include one, some, or all of the components depicted in the system 100 and does not necessarily have to include all of the components in a single device.

The gaming system 100 is shown to include one or more communication networks 104 that interconnect and facilitate machine-to-machine communications between one or multiple gaming machines 108 and a game management system 116. It should be appreciated that a communication network 104 may correspond to one or many communication networks or cellular networks without departing from the scope of the present disclosure. In some embodiments, the gaming machines 108 and game management system 116 may be configured to communicate using various nodes or components of the communication network 104.

The communication network 104 may include wired and/or wireless communication technologies. The Internet is an example of the communication network 104 that constitutes an Internet Protocol (IP) network consisting of many computers, computing networks, and other communication devices located all over the world, which are connected through many telephone systems and other means. Other examples of the communication network 104 include, without limitation, a standard Plain Old Telephone System (POTS), an Integrated Services Digital Network (ISDN), the Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a cellular network, and any other type of packet-switched or circuit-switched network known in the art. In addition, it can be appreciated that the communication network 104 need not be limited to any one network type, and instead may be comprised of a number of different networks and/or network types. Moreover, the communication network 104 may comprise a number of different communication media such as coaxial cable, copper cable/wire, fiber-optic cable, antennas for transmitting/receiving wireless messages, and combinations thereof.

In some embodiments, the gaming machines 108 may be distributed throughout a single property or premises (e.g., a single casino floor) or the gaming machines 108 may be distributed among a plurality of different properties. In the depicted embodiment, three or more gaming machines 108 are depicted as being co-located in a common location (e.g., a first casino) whereas another gaming machine 108 is depicted as being positioned in a location different from the other gaming machines 108. It should be appreciated that more than one gaming machine 108 may be separated by other gaming machines 108 by one or multiple different communication networks 104.

Some or all of the gaming machines 108 in a common physical location (or within a wireless communication range of one another) may be connected with a cellular access point via a wireless connection. As some non-limiting examples, a cellular access point made available to a gaming machine 108 may include a cellular base station, a Wi-Fi access point, a modem, a wireless router, or the like. The communication network 104 may utilize any type of multiplexing scheme to manage the various communications from multiple gaming machines 108. Examples of such multiplexing schemes include, without limitation, Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Code Division Multiple Access (CMDA), and/or Space Division Multiple Access (SDMA).

The various gaming machines 108 may utilize the same or different types of communication protocols to connect with the communication network 104. It should also be appreciated that the gaming machines 108 may or may not present the same type of game or wagering interface to a player 112. For instance, a first gaming machine 108 may correspond to a gaming machine that presents a slot game to the player 112, the second gaming machine 108 may correspond to a sports betting terminal, and other gaming machines 108 may present lottery games or other types of games or a plurality of different games for selection and eventual play by a player 112.

A gaming machine 108 may correspond to a type of device that enables player 112 interaction in connection with making wagers, communicating, watching live competitive contests, and/or playing games of chance. For instance, the gaming machines 108 may correspond to a type of device that enables a first player 112 to interact with a second player 112 at respective gaming machines 108. In other embodiments, each player 112 may be enabled to play a game individually at a gaming machine 108. Interactions between users 112 of different gaming machines 108 may be facilitated by audio content sharing techniques which will be described in further detail herein.

As will be discussed in further detail herein, a player 112 may be allowed to carry a mobile device 128 and the mobile device 128 may also be used to interact with the game management system 116. A mobile device 128 and a gaming machine 108 may each be considered a gaming device without departing from the scope of the present disclosure. A mobile device 128 may be utilized by the player 112 to create a player account, manage player profile information at the game management system 116, and/or connect with a gaming machine 108. It should also be appreciated that a mobile device 128 may be provided with functionality similar or identical to a gaming machine 108. In some embodiments, a mobile device 128 may be considered a particular type of gaming device in that a player 112 may utilize the mobile device 128 and resources thereof to play games of chance or other types of wagering games.

In some embodiments, a player 112 may login to the game management system 116 by presenting the mobile device 128 to a gaming machine 108, which causes components of the gaming machine 108 to initiate a login process with the game management system 116 on behalf of the player 112. Alternatively or additionally, a player 112 may anonymously engage in gameplay at a gaming machine 108 and/or mobile device 128 without departing from the scope of the present disclosure. Still further in the alternative, the player 112 may present a loyalty card or other physical credential different from the mobile device 128 to log into the game management system 116 and receive features based on the game management system's 116 knowledge of the player's 112 gameplay preferences.

As mentioned above, the game management system 116 may correspond to a system used by a casino operator to manage slot games, video poker games, bingo games, keno games, or the like that are played on one or more of the gaming machines 108 and/or mobile devices 128. In some embodiments, the game management system 116 may correspond to a system used by the casino operator to manage sports wagers placed by users 112 either at a sports desk or at a gaming machine 108. As another example, the game management system 116 may be used by to manage and execute a lottery game or multiple lottery games. As will be discussed in further detail herein, the gaming management system 116 may be configured to provide game features and/or game updates to gaming devices via a data stream. The game management system 116 may also be configured to customize, in real-time (e.g., while a player 112 is engaged at a gaming session at a gaming device), game features provided to a gaming device based on observed behaviors of the player 112 and/or observed behaviors of other players 112 at other gaming devices 112. As will be described in further detail herein, the game management system 116 may be configured to utilize machine learning, neural networks, and/or AI tools to analyze gameplay data received from a plurality of gaming devices while players 112 engage in gaming sessions at those gaming devices. The game management system 116 further be configured to provide game features and/or game updates to some of those gaming devices even while the player 112 is still engaged in the same gaming session. In this way, customized gameplay content can be streamed to gaming devices in the gaming system 100 based on data received from a plurality of other gaming devices.

In some embodiments, the game management system 116 may be configured to analyze the player 112 behavior and other gameplay data received from various gaming devices with reference to one or more data models 124. The data models may be maintained in a data store 120 that is accessible to the game management system 116. In some embodiments, the game management system 116 may be configured to train data models 124, update data models 124 (e.g., update coefficients of data models), replace data models 124 with new data models 124, etc. based on observations of data received from the gaming devices. For instance, data received from gaming machines 108 and/or mobile devices 128 may be compared to gameplay data represented in the data model(s) 124. If the data model(s) 124 vary from the recently-received data, then the game management system 116 may decide to update or replace a data model 124 as appropriate. Furthermore, if a data model 124 is determined to be accurate (e.g., within a predefined tolerance of recently-received data), then the data model 124 may be used to analyze future data received from gaming devices and further make decisions on gaming features and/or game updates to provide to the gaming devices.

Gaming Machine

With reference now to FIG. 2, additional details of a gaming device 200 will be described in accordance with at least some embodiments of the present disclosure. It should be appreciated that some or all of the components of a single gaming device 200 may be distributed across multiple gaming devices 200 (of the same or different type) without departing from the scope of the present disclosure. It should also be appreciated that a gaming device 200 may correspond to a gaming device 200 and/or a mobile device 128 without departing from the scope of the present disclosure.

The gaming device 200 is shown to include machine memory 204, a processor 236, a network interface 240, a reader 248, a reader driver 252, a cash-in device 256, a cash-out device 260, a ticket acceptance device 264, a ticket issuance device 268, and one or more user interface devices 272.

The processor 236 may include one or multiple computer processing devices. In some embodiments, the processor 236 may include a microprocessor, a CPU, a microcontroller, or the like. The processor 236 may also be configured to execute one or more instructions stored in machine memory 204.

The machine memory 204 may include one or multiple computer memory devices that are volatile or non-volatile. The machine memory 204 may be configured to store instructions that enable player 112 interaction with the gaming device 200, that enable the gaming device 200 to interact with a game of chance, that enable the gaming device 200 to interact with a game management system 116, and that enable the player 112 to interact with the game management system 116. The machine memory 204 may be provided as a computer-readable medium that stores the instructions and various other data structures or code elements. Examples of instructions that may be stored in the machine memory 204 include game instructions 208, gameplay reporting instructions 212, game update instructions 220, and the like. The machine memory 204 is also shown to store various types of data or data sets describing the gaming device 200, details of a gaming session being conducted by a player 112 at the gaming device 200, and/or details of a player 112 of the gaming device 200. As some non-limiting examples, the machine memory 204 may be used to store preferences and settings 216, hardware/software version information 224, gameplay data 228, and/or a credit meter 232.

The game instructions 208, when executed by the processor 236, may enable the gaming device 200 to facilitate one or more games of chance or skill and produce interactions between the player 112 and the game of chance or skill. In some embodiments, the game instructions 208 may include subroutines that present one or more graphics and/or audio content to the player 112 via a user interface device 272 in accordance with preferences and settings 216, subroutines that calculate whether a particular game wager has resulted in a win or loss during the game of chance or skill, subroutines for determining payouts for the player 112 in the event of a win, subroutines for determining whether a player 112 has enough available credits in the credit meter 232 to allow a particular bet or set of bets, and any other subroutine or set of instructions that facilitate gameplay at or in association with the gaming device 200. In some embodiments, activities, outputs, or inputs of the game instructions may be stored or recorded as machine state information, which may also be stored in machine memory 204. In some embodiments, the game instructions 208 may correspond to instructions that receive game content from the game management system 116 and that render a display via the user interface device(s) 272 for the player 112 of the gaming device 200 based on the game content received from the game management system 116.

The gameplay reporting instructions 212, when executed by the processor 236, may enable the gaming device 200 to determine when to report gameplay data 228 to the game management system 116 and how to communicate the gameplay data 228 to the game management system 116. The gameplay reporting instructions 212 may also be configured to determine when a player 112 is involved in a gaming session at the gaming device 200 and then report predetermined information involving the gaming session (e.g., information describing events that occur during the session, information describing the player 112, information describing a state of the gaming device 200, etc.). The gameplay reporting instructions 212 may also be configured to format a data stream for transmission to the game management system 116 and then encode appropriate data (e.g., gameplay data 228, hardware/software version information 224, preferences and settings 216, and the like).

In some embodiments, the preferences and settings 216 may correspond to gameplay preferences or settings defined by the player 112 of the gaming device 200. The preferences and settings 216 may be specific to a particular gaming session or may be preserved for use across multiple gaming sessions. In some embodiments, the preferences and settings 216 may initially correspond to default preferences and settings 216 defined by the gaming device 200, but may be updated with the player's 112 preferences and settings 216, which may be different from the default preferences and settings 216. The preferences and settings 216 reported by the gameplay reporting instructions 212 may, in some embodiments, only be reported when changed from a default state to the player's 112 preferred state.

The gameplay reporting instructions 212 may also be configured to report information from the credit meter 232 and/or information describing the hardware/software version 224. The credit meter 232 may correspond to a device or collection of devices that facilitates a tracking of wager activity or available wager credits at the gaming device 200. Such credits may be made available for wagers or bets placed on a game managed by the game management system 116. In some embodiments, the credit meter 232 may be used to store or log information related to various player 112 activities and events that occur at the gaming device 200. The types of information that may be maintained in the credit meter 232 include, without limitation, player information, available credit information, RTP information, wager amount information, and other types of information that may or may not need to be recorded for purposes of accounting for wagers placed at the gaming device 200 and payouts made for a player 112 during a game of chance or skill played at the gaming device 200. In some embodiments, the credit meter 232 may be configured to track coin-in activity, coin-out activity, coin-drop activity, jackpot paid activity, bonus paid activity, credits applied activity, external bonus payout activity, ticket/voucher in activity, ticket/voucher out activity, timing of events that occur at the gaming device 200, and the like. Some or all of the data within the credit meter 232 may be reported to the game management system 116 via coordinated efforts of the processor 236 and network interface 240. Likewise, information describing the gaming device's hardware and/or software capabilities may be reported to the game management system 116 in the form of the hardware/software version 224 and such reporting may be achieved with coordinated efforts of the processor 236 and network interface 240.

The game update instructions 220, when executed by the processor 236, may enable the gaming device 200 to respond to signals, instructions, or commands received from the game management system 116 and update aspects of the gaming device 200 in response thereto. For instance, the game update instructions 220 may be configured to update game instructions 208 or game features provided by execution of the game instructions 208 in response to receiving an appropriate signal from the game management system 116. Alternatively or additionally, the game update instructions 220 may update preferences and settings 216 or other components of the gaming device 200. Further still, the game update instructions 220 may be configured to update or add new games to the game instructions 208 in response to receiving an appropriate signal from the game management system 116. Such updates may be performed based on the hardware/software version 224 and other capabilities of the gaming device 200.

The network interface 240 may correspond to or include any type of device that enables the gaming device 200 to connect with the communication network 104 or with another gaming device 200. In some embodiments, the network interface 240 may include one or more communication ports, switches, routes, etc. that connect with a cable or the like. Alternatively or additionally, the network interface 240 may include an antenna and/or a driver for the antenna that enables the gaming device 200 to wirelessly communicate with other machines.

The cash-in device 256 may include a bill acceptor, a coin acceptor, a chip acceptor or reader, or the like. In some embodiments, the cash-in device 256 may also include credit card reader hardware and/or software. The cash-out device 260 may operate and issue cash, coins, tokens, or chips based on an amount indicated within the credit meter 232. In some embodiments, the cash-out device 260 may include a coin tray or the like and counting hardware configured to count and distribute an appropriate amount of coins or tokens based on a user's 112 winnings or available credit within the credit meter 232.

The gaming device 200 may also be provided with a ticket acceptance device 264 that is configured to accept or scan physically printed tickets/vouchers and extract appropriate information therefrom. In some embodiments, the ticket acceptance device 264 may include one or more machine vision devices (e.g., a camera, IR scanner, optical scanner, barcode scanner, etc.), a physical ticket acceptor, a shredder, etc. The ticket acceptance device 264 may be configured to accept physical tickets and/or electronic tickets without departing from the scope of the present disclosure. An electronic ticket/voucher may be accepted by scanning a one-dimensional barcode, two-dimensional barcode, or other type of barcode or quick response (QR) code displayed by a player's 112 mobile communication device 128, for example.

The ticket issuance device 268 may be configured to print or provide physical tickets/vouchers to users 112. In some embodiments, the ticket issuance device 268 may be configured to issue a ticket/voucher consistent with an amount of credit available to a player 112, possibly as indicated within the credit meter 232.

The user interface device(s) 272 may correspond to any type of mechanical or software-based input and/or output device. In some embodiments, the user interface device(s) 272 may be provided on a common panel or portion of the gaming device 200 and may be used to initiate a predetermined function in response to being pressed by the player 112. In addition to the examples of user interface devices 272 described above, it should be appreciated that a user interface device 272 may alternatively or additionally take the form of one or more depressible buttons, a lever or “one armed bandit handle,” etc. The user interface device(s) 272 may include components that present content to the player 112 in a visual fashion (e.g., displays, lights, screens, etc.). The user interface device(s) 272 may include components that present content to the player 112 in an audible fashion (e.g., buzzers, speakers 244, headphones, etc.). The user interface device(s) 272 may also include one or more combined user input/user output devices (e.g., a touch-sensitive display or a lighted button) without departing from the scope of the present disclosure.

The reader 248 may be configured to read credentials of different types. For instance, the reader 248 may be configured to read the mobile device 124 or other credentials that operate with a defined protocol or utilize an expected data format. The format or form factor of a credential carried by the player 112 should not be limited to any particular type of format or form factor. Examples of suitable form factors that may be as a credential include, without limitation, magstripe cards, chip-based cards, contactless/wireless cards, key fobs, mobile devices 128, optically-readable cards, or the like. It should be appreciated that a player's 112 credential may be capable of being read by a reader 248 when brought within a predetermined distance of the reader 248 (e.g., if the reader 248 includes an antenna and is utilize a contactless communication protocol like Near Field Communications (NFC) or Bluetooth). Alternatively or additionally, a credential may be capable of being read by a reader 248 when inserted to a slot of a card reader 248 or swiped through a card reader 248. To the extent that the form factor of a credential can vary and is not limited, it should be appreciated that the reader 248 may be provided with any number of hardware and/or software components to enable interactions with a credential. More specifically, each a reader 248 may include one or multiple readers, each of which may be provided with appropriate hardware and/or software components to enable the reader 248 to extract/read data that is stored on a credential and/or mobile device 124.

Game Management System

With reference now to FIG. 3, additional details of a game management system 116 will be described in accordance with at least some embodiments of the present disclosure. The game management system 116 is shown to include a distributed computing architecture (e.g., a plurality of servers 304). Some or all of the servers 304 in the game management system 116 may be configured with similar components, instructions, code sets, or the like, which means that the game management system 116 may correspond to a distributed and highly-available system in which one or more servers 304 act to backup other servers 304. Alternatively or additionally, the servers 304 of the game management system 116 may be configured for parallel data processing capabilities. In some embodiments, the servers 304 of the game management system 116 are presented to the outside world (e.g., components outside the system 116) as a single entity or node. The game management system 116 may appear to gaming machines 108 and/or mobile devices 128 as single computing nodes or servers. Although not depicted, one or more of the servers 304 may be configured to execute a virtual machine or multiple virtual machines in connection with providing the game management system 116.

Although details of a single server 304 are shown in FIG. 3, it should be appreciated that the other servers 304 may be provided with similar or identical components. Alternatively, some components depicted in FIG. 3 may be provided in one server whereas other components may be provided in another server. For illustrative purposes, one or more of the servers 304 may include a processor 308, a communication interface 312, and memory 316.

The processor 308 may be similar or identical to processor 236. In some embodiments, the processor 308 may include one or multiple computer processing devices. In some embodiments, the processor 308 may include a microprocessor, a CPU, a microcontroller, or the like. The processor 308 may also be configured to execute one or more instructions stored in memory 316.

The communication interface 312 may enable the server 304 to connect with the wireless communication network 104 and/or communication network 124. The communication interface 312 may include one or more communication ports, switches, routes, etc. that connect with a cable or the like. Alternatively or additionally, the communication interface 312 may include an antenna and/or a driver for the antenna that enables the server 304 to wirelessly communicate with other machines.

The memory 316 may be similar or identical to other memory devices depicted and described herein. For instance, the memory 316 may be similar or identical to machine memory 204. The memory 316 may include one or more volatile or non-volatile memory devices that are configured to store instructions, programs, or other executables for execution by the processor 308. Alternatively or additionally, the memory 316 may be configured to store other data to be used in connection with providing game management functions for the gaming machines 108. The illustrative types of programs or executables that may be stored in memory 316 include, without limitation, game management instructions 320, cloud coordination instructions 324, a machine learning unit 328, one or more neural networks 332, and one or more data models 336. The memory 316 is also shown to include instructions for executing an RNG 340, though it should be appreciated that functionality of an RNG 340 may be provided by the processor 308 without executing instructions from memory. Rather, the RNG 340 may correspond to a particular routine that is natively built into the processor 308 and/or that relies on a clock of the processor 308 for generating a random or pseudo random output when called.

The game management instructions 320, when executed by the processor 308, may enable the server 304 to provide game management features and functions for some or all of the gaming machines 108, mobile devices 128, and/or gaming device 200. In some embodiments, the game management instructions 320 may be configured to interact with game instructions 208 and receive information transmitted by the gameplay reporting instructions 212. More specifically, the game management instructions 320 may include subroutines that mirror subroutines in the game instructions 208. As another example, the game management instructions 320 may be configured to receive information reported by the gaming device 200 via the gameplay reporting instructions 212 (e.g., outputs of the credit meter 232, outputs of the game instructions 208, activity updates, machine state information 220, player 112 information, etc.) and then produce further outputs for transmission back to the gaming device 200. The further outputs provided back to the gaming device 200 may be used as inputs for the game instructions 208 to continue executing a game of chance for a player 112. As will be discussed in further detail herein, the outputs provided back to a gaming device 200 may be determined, at least in part, based on an analysis of data received from a plurality of gaming devices 200 while a player 112 is engaged in a gaming session at a particular gaming device 200. Moreover, the decision of what output to provide to a gaming device 200 may be made with the assistance of analysis tools provided by the game management system 116. Examples of such analysis tools include, without limitation, the machine learning unit 328, the neural network(s) 332, and the data model(s) 336.

In some embodiments, the game management instructions 320 may be responsible for enabling player 112 login activities, registering player profile information, and the like. In some embodiments, the game management instructions 320 may be configured to act as a proxy for some portions of code that would otherwise be provided in the game instructions 208. In such a configuration, the game management instructions 320 may provide a cloud-based or virtualized version of the game instructions 208 that are normally provided on a gaming device 200 itself. As an example, the game management instructions 320 may be configured to stream game content and game features to a gaming device 200, where the content and features are rendered for presentation to a player 112 of the gaming device 200.

The cloud coordination instructions 324, when executed by the processor 308, may enable the server 304 to coordinate with other servers 304 in the game management system 116. The cloud coordination instructions 324, when executed, may enable a particular server 304 to determine what types of processing activities it is responsible for within the game management system 116 and what types of processing activities are being performed by other servers 304 in the game management system 116. In some embodiments, the cloud coordination instructions 324 may utilize any type of coordination protocol that is known to be used within a cloud-computing architecture (e.g., a Web Services (WS)-Coordination Protocol, a negotiation protocol, a race protocol, a control loop protocol, etc.).

The analysis tools provided in a server 304 of the game management system 116 may enable the game management system 116 to analyze inputs from a plurality of gaming devices 200 in real-time and provide outputs to some or all of the plurality of gaming devices 200 in response thereto. Said another way, the machine learning unit 328, neural network(s) 332, and data model(s) 336 may enable a server 304 to receive a data stream from a plurality of gaming devices 200 and each data stream may include data that is reported by the gameplay reporting instructions 212. The server 304 may then be configured to analyze the data received in each data stream in real-time, then determine an appropriate output to provide back to one or more of the gaming devices 200 from which the data stream was received. In this way, a player 112 may engage with a particular gaming device 200 and the behavior of that particular gaming device 200 while the player 112 is still engaged with the gaming device 200 may be controlled or altered depending upon data analyzed from that gaming device 200 and other gaming devices 200.

The data model(s) 336 may be similar or identical to the data model(s) 124. The primary difference between the two elements is that the data model(s) 336 correspond to an instance of a data model residing in memory 316 of the server 304 whereas the data model(s) 124 correspond to an instance of a data model residing in the data store 120. In some embodiments, the side of the data model(s) 124 may be larger than the size of the data model(s) 336 based on the limitations of memory 316 as compared to the data store 120. Either of the data models may be trained on a set of training data, which may include historical gameplay data describing a player's 112 interaction with a gaming device 200. The set of training data used to create a data model may specifically include player 112 identification information, gaming session duration, gameplay events that occurred during a gaming session, player 112 reactions to gameplay events (e.g., as observed by a gaming device 200 or as described by the player 112 themselves), descriptions of player 112 responses to gameplay events, etc. As will be discussed in further detail herein, the game management system 116 may be configured to update or replace data models 124, 336 based on observations of player 112 behavior over time and based on inputs received from a plurality of gaming devices 200.

Examples of suitable data models 124, 336 that may be used by the game management system 116 include, without limitation, the neural network(s) 332 (e.g., an artificial neural network), a decision tree, a support vector network, a regression analysis, a Bayesian network, a genetic algorithm, or the like. In some embodiments, one or more inputs received from gaming devices 200 may be provided as inputs to the data model 124, 336, which subsequently provide an output or decision. As some non-limiting examples, the output of a data model 124, 336 or neural network 332 may include a decision to change a game feature provided by a gaming device 200, a decision to update a game instruction 208 of a gaming device 200, an affirmative indication that a player 112 is happy, an indication that a player 112 is unhappy, an affirmative indication that a player 112 may have a positive reaction to a particular game feature, an indication that a game feature is correlated with a player's 112 happiness, an indication that one player 112 and another player 112 have related behavioral characteristics or gameplay habits, an indication that a gaming session is following a known path (e.g., that leads to a predictable outcome), etc. The output(s) of the data models 124, 336 and/or neural network(s) 332 may be used by the machine learning unit 328 to provide specific instructions or actions that can be performed by the game management instructions 320. In other words, the game management instructions 320 may receive inputs from the machine learning unit 328, which enable the game management system 116 to react to real-time inputs from various gaming devices 200 and provide specific instructions to gaming devices 200 based on the collective inputs received from many gaming devices 200.

A machine learning unit 328 may correspond to any type of machine learning algorithm, process, or program. The machine learning unit 328 may be configured to learn from one or more experiences with respect to some class of tasks and performance measures if the machine learning unit 328 improves its performance at a task, as measured by the performance measure. Illustratively, the machine learning unit 328 may utilize supervised learning, unsupervised learning, semi-supervised learning, self-learning, feature learning, sparse dictionary learning, and/or reinforcement learning processes. Alternatively or additionally, the machine learning unit 328 may utilize anomaly detection and/or association rules as a method for discovering anomalous events or relationships between variables in a large data set, such as the data model(s) 124, 336.

As can be seen in FIG. 4A, the game management system 116 may be configured to receive a plurality of data streams 408 a, 408 b, 408N from a plurality of different gaming machines 108 a, 108 b, 108N. Although depicted as gaming machines 108, it should be appreciated that the devices providing data streams 408 a, 408 b, 408N may correspond to any example of a gaming device 200 (e.g., a gaming machine 108 and/or mobile device 200). In the depicted embodiment, the game management system 116 is connected to each gaming machine 108 via a data connection 404 that is used to carry the data streams 408 a, 408 b, 408N produced by each gaming machine 108 a, 108 b, 108N to the game management system 116. The number, N, of gaming machines 108 that may provide a data stream to the game management system may correspond to any integer value that is greater than or equal to one.

The data provided by some or all of the data streams 408 a, 408 b, 408N may include any of the data or information that has been described as being reportable by the gameplay reporting instructions 212. Non-limiting examples of such data and information include preferences and settings 216, hardware/software version 224, gameplay data 228, credit meter 232 information, player 112 description information, game events, player 112 behavior, interactions between the player 112 and the gaming machine 108, etc.

In FIG. 4B, the game management system 116 is further shown to be configured to provide one or more signals 412 a, 412 b, 412N back to each respective gaming machine 108 a, 108 b, 108N (or gaming device 200 as appropriate). The signals 412 a, 412 b, 412N provided back to gaming machines 108 a, 108 b, 108N may correspond to control signals, game update signals, or other instructions/inputs that cause the gaming machines 108 a, 108 b, 108N to produce a particular output or perform a certain action in response to receiving the signal. As a non-limiting example, a first gaming machine 108 a may be provided with a first control signal 412 a that causes the first gaming machine 108 a to provide the first player 112 a with a game feature was not previously being provided to the first player 112 a during a gaming session. The game management system 116 may be provided to generate the first control signal 412 a based on analysis of data streams 408 a, 408 b, 408N received from the first gaming machine 108 a and from other gaming machines 408 b, 408N. Moreover, the game feature provided to the first player 112 a during the gaming session may correspond to a game feature that was already being provided to the second player 112 b and/or Nth player 112N at their respective gaming machine 108 and the game management system 116 may have determined that the game feature may be positively received by or elicit a positive reaction from the first player 112 a. In response to making such a determination, the game management system 116 may generate and provide the first control signal 412 a to the first gaming machine 108 a.

In some embodiments, each signal 412 a, 412 b, 412N generated for each gaming machine 108 a, 108 b, 108N may be particularly suited for that gaming machine 108 a, 108 b, 108N. For instance, each gaming machine 108 may receive a particular signal that is based on activity detected at that gaming machine 108, that is suited to a particular hardware/software version of the gaming machine 108, that is suited to the player 112 at the gaming machine at the instance of time in which the signal 412 is generated and transmitted, etc. The data connections 404 may be used to carry the signals 412 from the game management system 116 to the gaming machines 116, meaning that each of the data connections 404 may correspond to bi-directional data connections. It should be appreciated, however, that multiple unidirectional data connections may also be used without departing from the scope of the present disclosure.

FIG. 4C further illustrates that the game management system 116 may provide an update signal 420 to the data store 120 via an additional data connection 416. The additional data connection 416 may be similar to data connections 404 or may correspond to a different type of dedicated data connection that does not necessarily extend across a distributed communication network 104. In some embodiments, the update signal 420 provided to the data store 120 may be used to update a data model 124 stored in the data store 120 or to replace a data model 124 with a newer version of the data model 124. As will be discussed in further detail herein, the game management system 116 may decide to update or replace a data model 124 based on observations of real-time data received via the data streams 408 a, 408 b, 408N. Moreover, the decision to update or replace a data model 124 may depend upon outputs of the machine learning unit 328 and a determination of whether or not currently received data is validated by or producing an expected output with a particular data model 336, which may correspond to a version or copy of the data model 124 maintained in the data store 120.

Methods

With reference now to FIGS. 5-11, various methods will be described in accordance with at least some embodiments of the present disclosure. It should be appreciated that the disclosed methods may be performed by one, some, or all of the devices depicted and described herein. Said another way, any device within the system 100 may be used to perform some or all of a method depicted and described herein. Moreover, although certain steps are depicted as being performed in a certain order or in connection with a particular method, it should be appreciated that any method step depicted and described herein may be performed in combination with any other method step depicted and described herein.

Referring initially to FIG. 5, a method of analyzing data received from gaming devices 200 in real-time and then providing identified gaming features to the gaming devices 200 based on the real-time analysis will be described in accordance with embodiments of the present disclosure. The method begins by receiving a first data stream 408 a from a first gaming device 200 at the game management system 116 (step 504). The method continues by receiving a second data stream 408 b from a second gaming device 200 at the game management system 116 (step 508). The first data stream 408 a and second data stream 408 b may or may not carry the same type of data. In some embodiments, each data stream carries the same type of data, but specific to the events occurring at each gaming device. In some embodiments, each data stream carries different types of data (e.g., one data stream may carry gameplay data 228 whereas another data stream may carry gameplay data 228 and player 112 data if the player 112 has logged into the game management system 116).

The game management system 116 may then utilize the machine learning unit 328, neural network(s) 332, and/or data model(s) 336 to analyze the data received from the first data stream 408 a and second data stream 408 b (step 512). The analysis of the data contained in the data streams may be performed immediately upon receiving the data streams or may be analyzed at some predetermined time after receiving the data streams. In some embodiments, the data is analyzed immediately upon receiving the data streams such that results of the analysis can be obtained while a player 112 is currently involved in a gaming session at the gaming device 200 that provided the data stream.

Based on the analysis of the data from the data streams, the method continues with the game management system 116 identifying a game feature to provide to the first and/or second gaming device 200 (step 516). The identified game feature may correspond to one or more of a bonus game, a sound effect, a visual effect, a predetermined animation, an entirely new game, a new version of a game already existing on a gaming device 200, a new background for the game being presented by the gaming device 200, a bonus opportunity for a game, etc.

The method may then continue with the game management system 116 generating a control signal for the first and/or second gaming device 200 (step 520). In some embodiments, a control signal may only be generated for a gaming device 200 if the game management system 116 determined the gaming device 200 should receive the identified game feature. In other words, the game management system 116 may not necessarily generate a control signal for a gaming device 200 that is not determined to receive the game feature.

The method may further continue with the game management system 116 formatting the control signal based on the presentation capabilities of the gaming device 200 (step 524). For instance, a gaming device 200 having a limited visual output device (e.g., basic LED or physical reels) may not necessarily receive a control signal to provide a game feature that requires a more sophisticated visual output device (e.g., an LED display screen or LCD display screen). Thus, the game management system 116 may be configured to generate a control signal that is specific to the target gaming device 200 and uniquely adapted to the target gaming device's presentation capabilities. Thereafter, the method continues with the game management system 116 providing the control signal to the first and/or second gaming device, thereby enabling each target gaming device 200 to provide the identified game feature to a player 112 of the gaming device 200. In some embodiments, the control signal may include instructions that enable the gaming device 200 to render or produce the game feature immediately in response to receiving the control signal (e.g., instructions that are immediately executable by a driver of the gaming device 200). In some embodiments, the control signal may include parameters that are further provided as inputs to the game instructions 208 and/or game update instructions 220.

Referring now to FIG. 6, a method of using data model(s) to provide gaming features to gaming devices 200 during gaming sessions will be described in accordance with embodiments of the present disclosure. The method begins when the game management system 116 receives data streams from a plurality of gaming devices 200 (step 604). The game management system 116 may utilize the machine learning unit 328 to build one or more data models 336 that describe player 112 behaviors during gaming sessions at gaming devices 200 (step 808). In some embodiments, the data models 336 may be trained on hundreds or thousands of gameplay data sets describing events occurring at a gaming device 200 when a player 112 interacts with the gaming device 200 during a gaming session (step 612). The training of the data models may or may not include user validation (e.g., human feedback). If user validation is desired as part of training the data model(s) 336, then the method may include requesting validation inputs from an administrative/training user (step 616).

Once trained on appropriate (e.g., predetermined number) of data sets received from data streams of gaming devices 200, the data model(s) 336 may be used by the machine learning unit 328 and/or game management instructions 320 to analyze further data streams received from gaming devices 200 in real-time and then make decisions to provide game features or update aspects of the gaming devices 200 based on the analysis performed. In some embodiments, the machine learning unit 328 may also be configured to monitor a performance of the data received from the data streams as compared to the data models 336 to determine if the actual data is deviating from outputs produced by the data models 336. Some deviation may be tolerated, but if the deviation exceeds a predetermined deviation threshold (step 620), then the method may continue with the game management system 116 determining to update or replace the data model 336 from which the actual data has deviated by more than the predetermined deviation threshold (step 624).

A data model 336 may be updated by changing one or more coefficients connecting one or more nodes in a neural network 332. Alternatively or additionally, a data model 336 may updated by adding or subtracting one or more nodes or node levels from the data model 336 to more closely align outputs of the data model to actual data observed on the data streams. A data model may be replaced by being deleted from memory and then having a different/new data model stored as a replacement therefor.

The updated or new/replacement data model(s) 336 may then again be used for analysis of data contained in data streams generated by gaming devices 200 (step 628). In other words, the updated or new data models 336 may be used to continue performing the various analysis (e.g., real-time analysis) tasks depicted and described herein.

Referring now to FIG. 7, a method of providing a gaming feature to a gaming device 200 based on analysis of data models related to player 112 behavior and gaming features will be described in accordance with embodiments of the present disclosure. The method begins with the game management system 116 monitoring player 112 interactions with a gaming device 200 during a gaming session (step 704). The game management system 116 may monitor the player 112 interactions by receiving gameplay data from the gaming device 200 at which the player 112 is positioned. As the player 112 interacts with the gaming device 200, the gameplay reporting instructions 212 may report the gameplay data 228 of the gaming device 200 to the game management system 116 via a data stream transmitted to the game management system 116.

The game management system 116 may utilize the machine learning unit 328, neural network(s) 332, and/or data model(s) 336 to determine that the player 112 is not currently receiving a particular game feature during a gaming session (step 708). In response to the determination of step 708, the game management system 116 may further analyze the data received from the gaming device 200 with the data model(s) 336 or neural networks 332 that are specifically trained to determined if a player behavior is correlated to a gaming feature in either a positive or negative way (step 712). In some embodiments, a data model 336 or neural network may be configured to receive gameplay data describing a player's 112 interactions with a gaming device 200 and produce an output that indicates the player's 112 behavior is positively associated with a game feature, the player's 112 behavior is negatively associated with a game feature, the player 112 would likely respond positively to a new game feature, the player 112 would likely respond negatively to a new game feature, the player 112 enjoys game features of a particular type, the player 112 inputs more wagers for a particular game or game feature, the player 112 has not ever seen a particular game feature before, etc.

Based on the analysis of step 712, the game management system 116 will determine if there is a high likelihood (e.g., higher likelihood than not) of the player 112 having a positive response to a particular game feature (step 716). If this query is answered negatively, then the method returns to step 704. If this query is answered positively, then the method proceeds with the game management system 116 providing the particular gaming feature to the gaming device 200 while the player 112 is still engaged in a gaming session with the gaming device 200 step 720). The method may further include monitoring the player's 112 response to the particular game feature (e.g., monitoring for increased wager activity, decreased wager activity, increased wager frequency, decreased wager frequency, happy facial expressions, unhappy facial expressions, increased button pressing frequency, increased body temperature, increased heart rate, etc.) to further help train or retrain the data model(s) 336 or neural networks 332 that were used in the analysis of step 712.

Referring now to FIG. 8, a method of determining a player 112 will have a likely positive response to a gaming feature and then providing the gaming feature to a gaming device 200 of the player 112 will be described in accordance with embodiments of the present disclosure. The method begins with the game management system 116 determining that a first gaming device 200 is not providing a particular game feature to a player 112 of the first gaming device (e.g., a first player 112 a) (step 804).

The method continues with the game management system 116 determining that a second gaming device 200 is providing the particular game feature to a player 112 of the second gaming device 200 (e.g., a second player 112 b) (step 808).

The game management system 116 may then determine, based on an analysis performed with the machine learning unit 328, neural network(s) 332, and/or data model(s) 336 that the first and second players have one or more behavior traits in common (step 812). The behavior traits in common may include one or more of wager behavior, win reactions, loss reactions, gambling history, whether both players are self-identified problem gamblers, etc.

The method may further continue by determining the second player is interacting with their gaming device 200 differently than the way that the first player is interacting with their gaming device 200 (step 816). In response making the determination of steps 812 and 816, the game management system 116 may determine that the first player will likely have a positive response to the particular gaming feature that is already being provided to the second player (step 820). If the game management system 116 determines that the first player will likely have a positive response to the particular game feature, then the method proceeds with the game management system 116 providing the particular game feature to the gaming device 200 of the first player (step 824). In some embodiments, the game feature may be provided to the first player's gaming device 200 by transmitting an appropriate control signal to the gaming device.

Referring now to FIG. 9, a method of transmitting game update signals to gaming devices 200 based on a determined update and based on a gaming device's 200 hardware and software version will be described in accordance with at least some embodiments of the present disclosure. The method begins with the game management system 116 receiving data streams from a plurality of different gaming devices 200 (step 904). The data streams may then have data extracted therefrom and analyzed using the machine learning unit 328, neural network(s) 332, and/or data model(s) 336 (step 908).

Based on the analysis of the data received from the plurality of gaming devices, the method may continue with the game management system 116 determining that a game update should be provided to at least some of the gaming devices 200 that provided the data streams (step 912). The game update may correspond to an update of code (e.g., an update of the game instructions 208), an update of preferences and settings 216, or an update to an operating system (e.g., software version) of the gaming device 200. Thus, the game management system 116 may continue by determining a hardware and software version associated with each gaming device 200 to be updated (step 916).

Having knowledge of the hardware and software version for each gaming device 200 may enable the game management system 116 to generate a unique and appropriate game update signal for each gaming device. The method may, therefore, continue with the game management system 116 generating and transmitting game update signals to each gaming device identified for the update based on each device's hardware and/or software version (step 920).

Referring now to FIG. 10, a method of transmitting control signals to gaming devices 200 to provide a gaming feature in response to determining the gaming feature complies with a gambling regulation associated with a location of the gaming device 200 will be described in accordance with embodiments of the present disclosure. The method begins with the game management system 116 determining that a gaming device 200 is to receive a game feature from one of the servers 304 (step 1004). This determination may be made based on execution of other analysis and decision processes (or steps) depicted and described herein.

The method continues with the game management system 116 determining a location of the gaming device 200 to be updated along with a gambling regulation that is associated with the location of the gaming device 200 (step 1008). The gambling regulation may be a state-specific gambling regulation, a game-specific gambling regulation, a casino-specific gambling regulation, or combinations thereof.

The game management system 116 may then determine whether or not the game feature complies with (or violates) the identified gambling regulation (step 1012). The game management system 116 may then be configured to only transmit a control signal to the gaming device 200 if the game feature is determined to comply with the local gambling regulation (step 1016). In other words, the game management system 116 may not necessarily transmit a control signal to a gaming device 200 if the game management system 116 knows, a priori, that the update can be legally accepted by the gambling device 200. Conditioning the transmission of the control signal upon such a determination can help minimize unnecessary data transmissions and preserve network bandwidth.

Referring now to FIG. 11, a method of correlating positive behavioral patterns to gaming features and then sending control signals to gaming devices 200 not currently enabled to provide the gaming features will be described in accordance with embodiments of the present disclosure. The method begins with the game management system 116 analyzing data from a plurality of gaming devices 200 and a number of gaming sessions occurring on those gaming devices 200 concurrently (step 1104). The data analyzed in step 1104 may correspond to data received from a plurality of different data streams at exactly the same time or within a predetermined timeframe of one another (e.g., within a minute, hour, day, etc.).

The method may continue with the game management system 116 identifying one or more behavioral patterns of the players based on the analysis of the gameplay data received for each gaming session (step 1108). In some embodiments, the data from the plurality of data streams may be monitored and compared against one another using an anomaly detection model. Alternatively or additionally, the data from each of the plurality of data streams may be compared against a common data model 336 to determine if one of the data steams is not similar to or validated by the data model 336.

The analysis performed by the game management system 116 may aim to correlate positive behavioral patterns to a particular game feature (or set of game features) (step 1112). In the event that the game management system 116 is able to correlate a positive behavioral pattern of multiple players 112 to a particular game feature, then the game management system 116 may continue by sending a control signal to gaming devices no currently providing the particular game feature (step 1116). The control signal may cause the target gaming device 200 to begin providing the game feature or otherwise update the gaming device such that the gaming device is enabled to provide the gaming feature.

Variants

The present disclosure contemplates a variety of different gaming systems and environments each having one or more of a plurality of different features, attributes, or characteristics. A “gaming system” or “gaming environment” as used herein refers to various configurations of: (a) one or more central servers, central controllers, or remote hosts; (b) one or more electronic gaming machines such as those located on a casino floor; and/or (c) one or more gaming devices, such as desktop computers, laptop computers, tablet computers or computing devices, personal digital assistants, mobile phones, and other mobile computing devices. Moreover, an EGM as used herein refers to any suitable electronic gaming machine which enables a player to play a game (including but not limited to a game of chance, a game of skill, and/or a game of partial skill) to potentially win one or more awards, wherein the EGM comprises, but is not limited to: a slot machine, a video poker machine, a video lottery terminal, a terminal associated with an electronic table game, a video keno machine, a video bingo machine located on a casino floor, a sports betting terminal, or a kiosk, such as a sports betting kiosk.

In various embodiments, the gaming system of the present disclosure includes: (a) one or more electronic gaming machines in combination with one or more central servers, central controllers, or remote hosts; (b) one or more gaming devices in combination with one or more central servers, central controllers, or remote hosts; (c) one or more gaming devices in combination with one or more electronic gaming machines; (d) one or more gaming devices, one or more electronic gaming machines, and one or more central servers, central controllers, or remote hosts in combination with one another; (e) a single electronic gaming machine; (f) a plurality of electronic gaming machines in combination with one another; (g) a single gaming device; (h) a plurality of gaming devices in combination with one another; (i) a single central server, central controller, or remote host; and/or (j) a plurality of central servers, central controllers, or remote hosts in combination with one another.

For brevity and clarity and unless specifically stated otherwise, “EGM” as used herein represents one EGM or a plurality of EGMs, “gaming device” as used herein represents one gaming device or a plurality of gaming devices and, in some embodiments, may include an EGM or multiple EGMs. The use of “server, central server, central controller, or remote host” as used herein represents one central server, central controller, or remote host or a plurality of central servers, central controllers, or remote hosts.

As noted above, in various embodiments, the gaming system includes an EGM in combination with a central server, central controller, or remote host. In such embodiments, the EGM is configured to communicate with the central server, central controller, or remote host through a data network or remote communication link. In certain such embodiments, the EGM is configured to communicate with another EGM through the same data network or remote communication link or through a different data network or remote communication link. For example, the gaming system includes a plurality of EGMs that are each configured to communicate with a central server, central controller, or remote host through a data network.

In certain embodiments in which the gaming system includes an EGM in combination with a central server, central controller, or remote host, the central server, central controller, or remote host is any suitable computing device (such as a server) that includes at least one processor and at least one memory device or data storage device. As further described herein, the EGM includes at least one EGM processor configured to transmit and receive data or signals representing events, messages, commands, or any other suitable information between the EGM and the central server, central controller, or remote host. The at least one processor of that EGM is configured to execute the events, messages, or commands represented by such data or signals in conjunction with the operation of the EGM. Moreover, the at least one processor of the central server, central controller, or remote host is configured to transmit and receive data or signals representing events, messages, commands, or any other suitable information between the central server, central controller, or remote host and the EGM. The at least one processor of the central server, central controller, or remote host is configured to execute the events, messages, or commands represented by such data or signals in conjunction with the operation of the central server, central controller, or remote host. One, more than one, or each of the functions of the central server, central controller, or remote host may be performed by the at least one processor of the EGM. Further, one, more than one, or each of the functions of the at least one processor of the EGM may be performed by the at least one processor of the central server, central controller, or remote host.

In certain such embodiments, computerized instructions for controlling any games (such as any primary or base games and/or any secondary or bonus games) displayed by the EGM are executed by the central server, central controller, or remote host. In such “thin client” embodiments, the central server, central controller, or remote host remotely controls any games (or other suitable interfaces) displayed by the EGM, and the EGM is utilized to display such games (or suitable interfaces) and to receive one or more inputs or commands. In other such embodiments, computerized instructions for controlling any games displayed by the EGM are communicated from the central server, central controller, or remote host to the EGM and are stored in at least one memory device of the EGM. In such “thick client” embodiments, the at least one processor of the EGM executes the computerized instructions to control any games (or other suitable interfaces) displayed by the EGM.

In various embodiments in which the gaming system includes a plurality of EGMs, one or more of the EGMs are thin client EGMs and one or more of the EGMs are thick client EGMs. In other embodiments in which the gaming system includes one or more EGMs, certain functions of one or more of the EGMs are implemented in a thin client environment, and certain other functions of one or more of the EGMs are implemented in a thick client environment. In one such embodiment in which the gaming system includes an EGM and a central server, central controller, or remote host, computerized instructions for controlling any primary or base games displayed by the EGM are communicated from the central server, central controller, or remote host to the EGM in a thick client configuration, and computerized instructions for controlling any secondary or bonus games or other functions displayed by the EGM are executed by the central server, central controller, or remote host in a thin client configuration.

In certain embodiments in which the gaming system includes: (a) an EGM configured to communicate with a central server, central controller, or remote host through a data network; and/or (b) a plurality of EGMs configured to communicate with one another through a communication network, the communication network may include a local area network (LAN) in which the EGMs are located substantially proximate to one another and/or the central server, central controller, or remote host. In one example, the EGMs and the central server, central controller, or remote host are located in a gaming establishment or a portion of a gaming establishment.

In other embodiments in which the gaming system includes: (a) an EGM configured to communicate with a central server, central controller, or remote host through a data network; and/or (b) a plurality of EGMs configured to communicate with one another through a communication network, the communication network may include a wide area network (WAN) in which one or more of the EGMs are not necessarily located substantially proximate to another one of the EGMs and/or the central server, central controller, or remote host. For example, one or more of the EGMs are located: (a) in an area of a gaming establishment different from an area of the gaming establishment in which the central server, central controller, or remote host is located; or (b) in a gaming establishment different from the gaming establishment in which the central server, central controller, or remote host is located. In another example, the central server, central controller, or remote host is not located within a gaming establishment in which the EGMs are located. In certain embodiments in which the communication network includes a WAN, the gaming system includes a central server, central controller, or remote host and an EGM each located in a different gaming establishment in a same geographic area, such as a same city or a same state. Gaming systems in which the communication network includes a WAN are substantially identical to gaming systems in which the communication network includes a LAN, though the quantity of EGMs in such gaming systems may vary relative to one another.

In further embodiments in which the gaming system includes: (a) an EGM configured to communicate with a central server, central controller, or remote host through a data network; and/or (b) a plurality of EGMs configured to communicate with one another through a communication network, the communication network may include an internet (such as the Internet) or an intranet. In certain such embodiments, an Internet browser of the EGM is usable to access an Internet game page from any location where an Internet connection is available. In one such embodiment, after the EGM accesses the Internet game page, the central server, central controller, or remote host identifies a player before enabling that player to place any wagers on any plays of any wagering games. In one example, the central server, central controller, or remote host identifies the player by requiring a player account of the player to be logged into via an input of a unique player name and password combination assigned to the player. The central server, central controller, or remote host may, however, identify the player in any other suitable manner, such as by validating a player tracking identification number associated with the player; by reading a player tracking card or other smart card inserted into a card reader; by validating a unique player identification number associated with the player by the central server, central controller, or remote host; or by identifying the EGM, such as by identifying the MAC address or the IP address of the Internet facilitator. In various embodiments, once the central server, central controller, or remote host identifies the player, the central server, central controller, or remote host enables placement of one or more wagers on one or more plays of one or more primary or base games and/or one or more secondary or bonus games, and displays those plays via the Internet browser of the EGM. Examples of implementations of Internet-based gaming are further described in U.S. Pat. No. 8,764,566, entitled “Internet Remote Game Server,” and U.S. Pat. No. 8,147,334, entitled “Universal Game Server.”

The central server, central controller, or remote host and the EGM are configured to connect to the data network or remote communications link in any suitable manner. In various embodiments, such a connection is accomplished via: a conventional phone line or other data transmission line, a digital subscriber line (DSL), a T-1 line, a coaxial cable, a fiber optic cable, a wireless or wired routing device, a mobile communications network connection (such as a cellular network or mobile Internet network), or any other suitable medium. The expansion in the quantity of computing devices and the quantity and speed of Internet connections in recent years increases opportunities for players to use a variety of EGMs to play games from an ever-increasing quantity of remote sites. Additionally, the enhanced bandwidth of digital wireless communications may render such technology suitable for some or all communications, particularly if such communications are encrypted. Higher data transmission speeds may be useful for enhancing the sophistication and response of the display and interaction with players.

As should be appreciated by one skilled in the art, aspects of the present disclosure have been illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.

Any combination of one or more computer readable media may be utilized. The computer readable media may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an appropriate optical fiber with a repeater, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python or the like, conventional procedural programming languages, such as the “C” programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS).

Aspects of the present disclosure have been described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatuses (systems) and computer program products according to embodiments of the disclosure. It should be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable instruction execution apparatus, create a mechanism for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computer readable medium that when executed can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions when stored in the computer readable medium produce an article of manufacture including instructions which when executed, cause a computer to implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable instruction execution apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatuses or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

The term “a” or “an” entity refers to one or more of that entity. As such, the terms “a” (or “an”), “one or more,” and “at least one” can be used interchangeably herein. It is also to be noted that the terms “comprising,” “including,” and “having” can be used interchangeably. 

What is claimed is:
 1. A system, comprising: a processor; and a memory device coupled with the memory and comprising instructions stored thereon that, when executed by the processor, cause the processor to: receive a first data stream from a first gaming device, wherein the first data stream comprises first data describing gameplay events occurring at the first gaming device; receive a second data stream from a second gaming device, wherein the second data stream comprises second data describing gameplay events occurring at the second gaming device; analyze the first data and the second data; identify a gaming feature to provide to the first gaming device based on the analysis of the first data and the second data; and provide a control signal to the first gaming device that causes the first gaming device to provide the identified gaming feature to a player of the first gaming device.
 2. The system of claim 1, wherein the player of the first gaming device interacts with the first gaming device during a gaming session to produce the first data stream, wherein the analysis of the first data and the second data is performed while the player is interacting with the first gaming device, and wherein the identified gaming feature is provided to the player during the gaming session.
 3. The system of claim 1, wherein the instructions further cause the processor to: determine the first gaming device is not providing the identified gaming feature to the player prior to analyzing the first data and the second data; determine the second gaming device is providing the identified gaming feature to a second player prior to analyzing the first data and the second data; determine the second player and the first player have a behavior trait in common; determine the second player is interacting with the second gaming device with a different behavior than the first player is interacting with the first gaming device; and determine the first player comprises a likely positive response to being provided with the identified gaming feature.
 4. The system of claim 3, wherein the instructions further cause the processor to: update a data model that describes player interactions with gaming devices over a period of time.
 5. The system of claim 3, wherein the identified gaming feature comprises a game not previously provided by the first gaming device prior to analyzing the first data and the second data.
 6. The system of claim 1, wherein the instructions further cause the processor to: receive a third data stream from a third gaming device, wherein the third data stream comprises third data describing gameplay events occurring at the third gaming device; and analyze the third data in combination with analyzing the first data and the second data.
 7. The system of claim 6, wherein the instructions further cause the processor to: determine, based on the analysis of the first data, the second data, and the third data, that a game update is required for each of the first gaming device, the second gaming device, and the third gaming device; determine a hardware and software version associated with each of the first gaming device, the second gaming device, and the third gaming device; determine a first game update signal for the first gaming device that is based on the determined hardware and software version associated with the first gaming device; transmit the first game update signal to the first gaming device; determine a second game update signal for the second gaming device that is based on the determined hardware and software version associated with the second gaming device; transmit the second game update signal to the second gaming device; determine a third game update signal for the third gaming device that is based on the determined hardware and software version associated with the third gaming device; and transmit the third game update signal to the third gaming device.
 8. The system of claim 1, wherein the control signal comprises instructions for the first gaming device to render a visual presentation and wherein the instructions further cause the processor to: determine a presentation capability of the first gaming device; and format the control signal based on the determined presentation capability of the first gaming device.
 9. The system of claim 1, wherein the instructions further cause the processor to: provide the control signal to the second gaming device that causes the second gaming device to provide the identified gaming feature to a player of the second gaming device.
 10. The system of claim 1, wherein the first gaming device comprises an electronic gaming machine located in a casino, wherein the identified gaming feature comprises a feature that modifies a probability of the player winning a game of chance at the electronic gaming machine, and wherein the instructions further cause the processor to: determine a gambling regulation that is associated with a location of the casino; and determine that the identified gaming feature complies with the gambling regulation prior to transmitting the control signal to the electronic gaming machine.
 11. A server, comprising: a network interface; a processor coupled with the network interface; and a memory device coupled with the processor and comprising instructions that, when executed, cause the processor to: receive first data from a first gaming device describing gameplay events occurring at the first gaming device; receive second data from a second gaming device describing gameplay events occurring at the second gaming device; analyze the first data and the second data; identify a feature to provide to the first gaming device and second gaming device based on the analysis of the first data and the second data; and provide a control signal to the first gaming device and the second gaming device that delivers the feature to the first gaming device and the second gaming device.
 12. The server of claim 11, wherein the instructions further cause the processor to: identify a behavioral pattern of players based on the analysis of the first data and the second data; and correlate the behavioral pattern to the feature based on referencing a data model that describes player interactions with gaming devices over a period of time.
 13. The server of claim 11, wherein the instructions further cause the processor to: determine, based on the analysis of the first data and the second data that a game update is required for both the first gaming device and the second gaming device; determine a hardware and software version associated with each of the first gaming device and the second gaming device; determine a first game update signal for the first gaming device that is based on the determined hardware and software version associated with the first gaming device; transmit the first game update signal to the first gaming device; determine a second game update signal for the second gaming device that is based on the determined hardware and software version associated with the second gaming device; and transmit the second game update signal to the second gaming device.
 14. The server of claim 11, wherein the instructions further cause the processor to: determine a presentation capability of the first gaming device; format a first version of the control signal based on the determined presentation capability of the first gaming device; determine a presentation capability of the second gaming device; format a second version of the control signal based on the determined presentation capability of the second gaming device; transmit the first version of the control signal to the first gaming device; and transmit the second version of the control signal to the second gaming device.
 15. The server of claim 11, wherein the first gaming device comprises a first electronic gaming machine located in a first casino, wherein the second gaming device comprises a second electronic gaming machine located in a second casino different from the first casino, wherein the identified feature modifies a probability of a player winning a game of chance, and wherein the instructions further cause the processor to: determine a first gambling regulation that is associated with a location of the first casino; determine that the identified feature complies with the first gambling regulation prior to transmitting the control signal to the first electronic gaming machine; determine a second gambling regulation that is associated with a location of the second casino; and determine that the identified feature complies with the second gambling regulation prior to transmitting the control signal to the second electronic gaming machine.
 16. A method of managing a gaming system, the method comprising: receiving, at a processor, first data from a first gaming device describing gameplay events occurring at the first gaming device; receiving, at the processor, second data from a second gaming device describing gameplay events occurring at the second gaming device; analyzing, with the processor, the first data and the second data; identifying, with the processor, a feature to provide to the first gaming device based on the analysis of the first data and the second data; and providing, by the processor, a control signal to the first gaming device that delivers the feature to the first gaming device.
 17. The method of claim 16, wherein a player of the first gaming device interacts with the first gaming device during a gaming session to produce the first data, wherein the analysis of the first data and the second data is performed while the player is interacting with the first gaming device, and wherein the identified feature is provided to the first gaming device during the gaming session.
 18. The method of claim 16, further comprising: determining, with the processor, the first gaming device is not providing the identified feature to the player prior to analyzing the first data and the second data; determining, with the processor, the second gaming device is providing the identified feature to a second player prior to analyzing the first data and the second data; determining, with the processor, the second player and the first player have a behavior trait in common; determining, with the processor, the second player is interacting with the second gaming device with a different behavior than the first player is interacting with the first gaming device; and determining, with the processor, the first player comprises a likely positive response to being provided with the identified feature.
 19. The method of claim 16, further comprising: updating, with the processor, a data model that describes player interactions with gaming devices over a period of time.
 20. The method of claim 16, further comprising: determining, with the processor, a presentation capability of the first gaming device; and formatting, with the processor, the control signal based on the determined presentation capability of the first gaming device. 